Usage period management system for applications

ABSTRACT

A method of managing downloading contents in a network system including a terminal device, a management server and a downloading site includes three phases of procedures. In a first phase procedure, the management server receives a request for downloading contents from the terminal device and performs a predetermined registration operation. In a second phase procedure, the management server transmits attribution data corresponding to the contents to be downloaded by the terminal device, the attribution data including information of the downloading site. In a third phase procedure, the terminal device accessed the downloading site in accordance with the information included in the attribution data and downloads the contents.

FIELD OF THE INVENTION

The present invention relates to a system for providing applicationprograms, image data or the like (hereinafter referred to as contents)through a network such as the Internet, and particularly to anexpiration date management system for such a contents providing system.

BACKGROUND OF THE INVENTION

Recently, in association with developments of Internet relatedtechniques and/or mobile communication techniques, electrical commercemaking use of cell phones, PDA (Personal Digital Assistance), and thelike have been widespread.

For example, a system allowing a user to download application programsfor a PDA through a computer network and to use the programs or thelike, for free of charge or for value, within a predetermined periodhave been considered.

There has been suggested a method for restricting the usage period ofthe downloaded contents. An example of such a means is disclosed inJapanese Patent Provisional Publication No. HEI 10-222579. According tothe publication, a restrict means known as “time bomb” is incorporatedin the application, which restricts the usage of the application whenthe allowed time period has expired. The usage period is typicallydetermined by counting the period since the date and time, which areobtained from the clock of the PDA, when the application is installed inthe PDA.

Another method is suggested, in which a counter is incremented uponevery start-up of the application, and the usage of the application isprohibited when the counter exceeds a predetermined count value.

In the above method of managing the expiration of usage of theapplication, there exist problems as indicated below.

Firstly, the means of restricting the usage of the application should beincorporated in the individual application by the vender thereof, whichincreases burden of the vender.

Further, the initial date of reckoning is determined by a user (client)and cannot be determined by the vender. Therefore, the vender is unableto obtain the expiration information correctly, and is unable to inspectwhether the expiration date is held correctly by each client.

When the usage is restricted based on the number of start-ups, it isonly managed at the client side (i.e., by the PDA) since the vender of aserver cannot obtain the number of start-ups of the application fromeach client. Thus, according to this method, the server or the vendercannot manage the expiration of the application. Further, if theapplication is configured to update data related to the expirationperiod in the PDA, it can easily be recognized by the client. If anill-willed user rewrites the data related to the expiration, theapplication may be used even if the number of start-ups exceeds theupper limit.

Furthermore, in a conventional system in which a program is sold byuser's downloading (i.e., when the application is downloaded, billing isexecuted), the following problem may occur. That is, when the user isdownloading the application, the downloading process may be aborted dueto some reason such as a communication error. Therefore, for the server,it is necessary to confirm that the download is successfully completed,which requires a troublesome procedure for the server. There is a systemwhich allows re-downloading of the application for a certain period incase the previous downloading was unsuccessful. In such a case, however,if the specified period is expired, the user cannot download theapplication again. In such a case, even if the user has paid for theapplication, he/she cannot download the application for free.

SUMMARY OF THE INVENTION

The present invention is advantageous in that the expiration of usage ofcontents is managed both in the server and client, and the period ofusage is correctly kept in each client.

Further, according to an embodiment, registration of a new clientdevice, recovery of registration can be performed relatively easily.

Further, according to an embodiment, the user is capable of recognizingstatus of each application in terms of its expiration easily.

According to an aspect of the invention, there is provided a method ofmanaging downloading contents in a network system including a terminaldevice, a management server and a downloading site. The method includesexecuting a first phase procedure in which the management serverreceives a request for downloading contents from the terminal device andperforms a predetermined registration operation, executing a secondphase procedure in which the management server transmits attributiondata corresponding to the contents to be downloaded by the terminaldevice, the attribution data including information of the downloadingsite, the attribution data further including usage period dataindicative of a period during which the contents can be used in theterminal device, and executing a third phase procedure in which theterminal device accessed the downloading site in accordance with theinformation included in the attribution data and downloads the contents.Further, the terminal device includes an execution inhibiting systemthat inhibits handling of the contents after the period indicated by theusage period data has expired.

Optionally, the terminal device has storage. The attribution data andthe contents can be stored in the storage separately.

Further optionally, the network system may further include a billingserver handling billing to a user of the terminal device. In the firstphase procedure, the management server may be configured to instruct thebilling server to bill the user for the contents upon receipt of therequest for downloading.

In this case, the billing server may transmit a predetermined command tothe management server when the billing is completed, and the managementserver may perform the predetermined registration operation after thepredetermined command is received from the billing server.

Furthermore, the request for downloading may include a request forpurchasing the contents.

Additionally, the request for downloading may include a request for atrial use of the contents.

Optionally, the usage period may include a number of times the contentsis allowed to be used.

Alternatively, the usage period may include an expiration date of theusage period. In this case, the expiration date may be calculated basedon a date when the request for downloading was transmitted from theterminal device and a usable period assigned to the contents to bedownloaded.

Still optionally, the terminal device may include a displaying systemthat displays a status regarding the usage period of the contents.

Further, the terminal device may include a remaining period calculatingsystem that calculates a remaining period to the end of the usageperiod, the displaying system displays the remaining period of thecontents.

In a particular case, the displaying system may display the usage periodas a graphic symbol.

Further optionally, in the second phase procedure, the management servermay transmit confirmation data indicative of completion of registrationto the terminal device. The terminal device may transmit a request forthe attribution data to the management server in response to receipt ofthe confirmation data, and the management server may transmit theattribution data to the terminal device in response to the request forthe attribution data transmitted from the terminal device.

In this case, the confirmation data may include an HTML file including apredetermined embedded command, the terminal device returning thepredetermined embedded command upon receipt of the HTML file, themanagement server transmitting the attribution data in response to thepredetermined embedded command transmitted from the terminal device.

If a communication error occurs between the management server and theterminal device during the second phase procedure, the second phaseprocedure is re-executed. It should be noted that, once the first phaseprocedure is completed, it is unnecessary to re-execute the first phaseoperation.

Optionally, if a communication error occurs between the terminal deviceand the downloading site during the third phase procedure, the thirdphase procedure is re-executed.

Optionally, the management server may manage the terminal server inaccordance with a management method, which includes receiving personalinformation of the user input through the terminal device, assigning amember ID to the user, assigning a terminal ID to the terminal, managingthe terminal ID in relationship to the member ID, and transmitting themember ID and the terminal ID to the terminal device, the member ID andthe terminal ID being stored in the terminal device.

In this case, the terminal ID may be managed either in the managementserver or in the terminal device so as not to be recognized by the user.

In an embodiment, the management method may further include receiving adevice type ID when the terminal device is connected to the server, andjudging whether the received device type ID is one of predetermineddevice type IDs.

Optionally or alternatively, the management method may include receivinga name of the terminal device through the terminal device, managing theterminal ID and the name of the terminal device in relationship to themember ID, and transmitting the member ID, the terminal ID and the nameof the terminal to the terminal device, the member ID, the terminal IDand the name of the terminal being stored in the terminal device.

In this case, the management method may further include requesting forinput of the member ID and the password if the member ID and theterminal ID are not transmitted from the terminal device when theterminal device connects for the service provided by the server, askingthe user whether the terminal device is subject to recovery or additionif the member ID and the password as input are valid, asking the user toinput a preliminary registered name of a preliminary registered terminaldevice of the user if the terminal device is subject to recovery,transferring registered information corresponding to the preliminaryregistered name into registered information corresponding to theterminal device subject to recovery, and asking the user to input a newname of the terminal device if the terminal device is subject toaddition, a new terminal ID being assigned to the terminal device, thenew terminal ID and the new name being managed in relations to themember ID, the new terminal ID, the new name and the new name beingtransmitted to the terminal device so as to be saved therein.

According to another aspect of the invention, there is provided acontents management system for managing downloading and handling ofcontents in a network system which includes a terminal device, amanagement server and a downloading site. In this system, the managementserver receives a request for downloading contents from the terminaldevice and performs a predetermined registration operation. Further, themanagement server transmits attribution data corresponding to thecontents to be downloaded by the terminal device, the attribution dataincluding information of the downloading site, the attribution datafurther including usage period data indicative of a period during whichthe contents can be used in the terminal device. The terminal device mayaccess the downloading site in accordance with the information includedin the attribution data and downloads the contents, the terminal deviceincluding an execution inhibiting system that inhibits handling of thecontents after the period indicated by the usage period data hasexpired.

Optionally, the terminal device may have storage. The attribution dataand the contents being stored in the storage separately.

Still optionally, the network system may include a billing serverhandling billing to a user of the terminal device, and the managementserver may instruct the billing server to bill the user for the contentsupon receipt of the request for downloading.

Further, the billing server may transmit a predetermined command to themanagement server when the billing is completed, and the managementserver performs the predetermined registration operation after thepredetermined command is received from the billing server.

Optionally, the request for downloading may include a request forpurchasing the contents.

Additionally, the request for downloading may include a request for atrial use of the contents.

Still optionally, the usage period may include a number of times thecontents is allowed to be used.

Further, the usage period may include an expiration date of the usageperiod.

In a particular case, the expiration date may be calculated based on adate when the request for downloading was transmitted from the terminaldevice and a usable period assigned to the contents to be downloaded.

Optionally, the terminal device includes a displaying system thatdisplays a status regarding the usage period of the contents.

Further, the terminal device may include a remaining period calculatingsystem that calculates a remaining period to the end of the usageperiod, the displaying system displays the remaining period of thecontents.

Furthermore, the displaying system may display the usage period as agraphic symbol.

Still optionally, the management server may transmit confirmation dataindicative of completion of registration to the terminal device. Theterminal device may transmit a request for the attribution data to themanagement server in response to receipt of the confirmation data, andthe management server may transmit the attribution data to the terminaldevice in response to the request for the attribution data transmittedfrom the terminal device.

In this case, the confirmation data may include an HTML file including apredetermined embedded command, the terminal device returning thepredetermined embedded command upon receipt of the HTML file, themanagement server transmitting the attribution data in response to thepredetermined embedded command transmitted from the terminal device.

Further optionally, if a communication error occurs between themanagement server and the terminal device when the terminal devicedownloading the attribution data, downloading procedure is re-executed.

Further, if a communication error occurs between the terminal device andthe downloading site when the terminal device downloads the contents,the downloading procedure is re-executed.

Optionally, the management server may manage the terminal server inaccordance with a management method, which includes receiving personalinformation of the user input through the terminal device, assigning amember ID to the user, assigning a terminal ID to the terminal, managingthe terminal ID in relationship to the member ID, and transmitting themember ID and the terminal ID to the terminal device, the member ID andthe terminal ID being stored in the terminal device.

Optionally, the management method may include receiving a name of theterminal device through the terminal device, managing the terminal IDand the name of the terminal device in relationship to the member ID,and transmitting the member ID, the terminal ID and the name of theterminal to the terminal device, the member ID, the terminal ID and thename of the terminal being stored in the terminal device.

In this case, the management method may further include requesting forinput of the member ID and the password if the member ID and theterminal ID are not transmitted from the terminal device when theterminal device connects for the service provided by the server, askingthe user whether the terminal device is subject to recovery or additionif the member ID and the password as input are valid, asking the user toinput a preliminary registered name of a preliminary registered terminaldevice of the user if the terminal device is subject to recovery,transferring registered information corresponding to the preliminaryregistered name into registered information corresponding to theterminal device subject to recovery, and asking the user to input a newname of the terminal device if the terminal device is subject toaddition, a new terminal ID being assigned to the terminal device, thenew terminal ID and the new name being managed in relations to themember ID, the new terminal ID, the new name and the new name beingtransmitted to the terminal device so as to be saved therein.

According to a further aspect of the invention, there is provided aterminal device for a contents management system which downloading andhandling of contents in a network system, the network system includingthe terminal device, a management server and a downloading site. Theterminal device may be configured to transmit a request for downloadingcontents to the management server, the management server performing apredetermined registration operation upon receipt of the request fordownloading the contents. The terminal device receives attribution datacorresponding to the contents to be downloaded from the managementserver, the attribution data including information of the downloadingsite, the attribution data further including usage period dataindicative of a period during which the contents can be used in theterminal device. Further, the terminal device may access the downloadingsite in accordance with the information included in the attribution dataand downloads the contents, the terminal device including an executioninhibiting system that inhibits handling of the contents after theperiod indicated by the usage period data has expired.

Optionally, the terminal device may include storage. The attributiondata and the contents being stored in the storage separately.

Optionally, the network system may include a billing server handlingbilling to a user of the terminal device, and the management server mayinstruct the billing server to bill the user for the contents uponreceipt of the request for downloading.

Further, the billing server may transmit a predetermined command to themanagement server when the billing is completed, and the managementserver may perform the predetermined registration operation after thepredetermined command is received from the billing server.

Optionally, the request for downloading includes a request forpurchasing the contents. Further, the request for downloading mayinclude a request for a trial use of the contents.

Further optionally, the usage period may include a number of times thecontents is allowed to be used.

In a particular case, the usage period may include an expiration date ofthe usage period.

Optionally, the expiration date may be calculated based on a date whenthe request for downloading was transmitted from the terminal device anda usable period assigned to the contents to be downloaded.

Optionally, the terminal device may include a displaying system thatdisplays a status regarding the usage period of the contents.

Further, the terminal device may include a remaining period calculatingsystem that calculates a remaining period to the end of the usageperiod, the displaying system displays the remaining period of thecontents.

Optionally, the displaying system may display the usage period as agraphic symbol.

Still optionally, the management server may transmit confirmation dataindicative of completion of registration to the terminal device. Theterminal device may transmit a request for the attribution data to themanagement server in response to receipt of the confirmation data, andthe management server may transmit the attribution data to the terminaldevice in response to the request for the attribution data transmittedfrom the terminal device.

Furthermore, the confirmation data may include an HTML file including apredetermined embedded command, the terminal device returning thepredetermined embedded command upon receipt of the HTML file, themanagement server transmitting the attribution data in response to thepredetermined embedded command transmitted from the terminal device.

Still optionally, if a communication error occurs between the managementserver and the terminal device during downloading of the attributiondata, the downloading procedure is re-executed.

Further, if a communication error occurs between the terminal device andthe downloading site during downloading of the contents, the downloadingprocedure is re-executed.

Optionally, the management server may manage the terminal device inaccordance with a management method, which includes receiving personalinformation of the user input through the terminal device, assigning amember ID to the user, assigning a terminal ID to the terminal device,managing the terminal ID in relationship to the member ID, andtransmitting the member ID and the terminal ID to the terminal device,the member ID and the terminal ID being stored in the terminal device.

Further, the management method may include receiving a name of theterminal device through the terminal device, managing the terminal IDand the name of the terminal device in relationship to the member ID,and transmitting the member ID, the terminal ID and the name of theterminal to the terminal device, the member ID, the terminal ID and thename of the terminal being stored in the terminal device.

Furthermore, the management method may include requesting for input ofthe member ID and the password if the member ID and the terminal ID arenot transmitted from the terminal device when the terminal deviceconnects for the service provided by the server, asking the user whetherthe terminal device is subject to recovery or addition if the member IDand the password as input are valid, asking the user to input apreliminary registered name of a preliminary registered terminal deviceof the user if the terminal device is subject to recovery, transferringregistered information corresponding to the preliminary registered nameinto registered information corresponding to the terminal device subjectto recovery, and asking the user to input a new name of the terminaldevice if the terminal device is subject to addition, a new terminal IDbeing assigned to the terminal device, the new terminal ID and the newname being managed in relations to the member ID, the new terminal ID,the new name and the new name being transmitted to the terminal deviceso as to be saved therein.

According to a further aspect of the invention, there is provided amanagement server of a contents management system for managingdownloading and handling of contents in a network system, the contentsmanagement system further including a terminal device and a downloadingsite. The management server may receive a request for downloadingcontents from the terminal device and performs a predeterminedregistration operation, then the management server may transmitattribution data corresponding to the contents to be downloaded by theterminal device, the attribution data including information of thedownloading site, the attribution data further including usage perioddata indicative of a period during which the contents can be used in theterminal device. Further, the terminal device may access the downloadingsite in accordance with the information included in the attribution dataand downloads the contents, the terminal device including an executioninhibiting system that inhibits handling of the contents after theperiod indicated by the usage period data has expired.

Optionally, the terminal device may have storage. The attribution dataand the contents being stored in the storage separately.

Further, the network system may include a billing server handlingbilling to a user of the terminal device, and the management server mayinstruct the billing server to bill the user for the contents uponreceipt of the request for downloading.

Still optionally, the billing server may transmit a predeterminedcommand to the management server when the billing is completed, and themanagement server may perform the predetermined registration operationafter the predetermined command is received from the billing server.

In a certain case, the request for downloading includes a request forpurchasing the contents. Further, the request for downloading mayfurther include a request for a trial use of the contents.

Further, the usage period may include a number of times the contents isallowed to be used.

In a particular case, the usage period may include an expiration date ofthe usage period.

Still optionally, the expiration date may be calculated based on a datewhen the request for downloading was transmitted from the terminaldevice and a usable period assigned to the contents to be downloaded.

In this case, the terminal device may further include a displayingsystem that displays a status regarding the usage period of thecontents.

Furthermore, the terminal device may include a remaining periodcalculating system that calculates a remaining period to the end of theusage period, the displaying system displays the remaining period of thecontents.

Optionally, the displaying system displays the usage period as a graphicsymbol.

Further, the management server may transmit confirmation data indicativeof completion of registration to the terminal device, the terminaldevice transmits a request for the attribution data to the managementserver in response to receipt of the confirmation data, and themanagement server may transmit the attribution data to the terminaldevice in response to the request for the attribution data transmittedfrom the terminal device.

Optionally, the confirmation data may include an HTML file including apredetermined embedded command, the terminal device returning thepredetermined embedded command upon receipt of the HTML file, themanagement server transmitting the attribution data in response to thepredetermined embedded command transmitted from the terminal device.

Still optionally, if a communication error occurs between the managementserver and the terminal device when the terminal device downloading theattribution data, downloading procedure is re-executed.

Further, if a communication error occurs between the terminal device andthe downloading site when the terminal device downloads the contents,the downloading procedure is re-executed.

Furthermore, the management server may manage the terminal server inaccordance with a management method, which includes receiving personalinformation of the user input through the terminal device, assigning amember ID to the user, assigning a terminal ID to the terminal, managingthe terminal ID in relationship to the member ID, and transmitting themember ID and the terminal ID to the terminal device, the member ID andthe terminal ID being stored in the terminal device.

Optionally, the management method may further include receiving a nameof the terminal device through the terminal device, managing theterminal ID and the name of the terminal device in relationship to themember ID, and transmitting the member ID, the terminal ID and the nameof the terminal to the terminal device, the member ID, the terminal IDand the name of the terminal being stored in the terminal device.

Still optionally, the management method may include requesting for inputof the member ID and the password if the member ID and the terminal IDare not transmitted from the terminal device when the terminal deviceconnects for the service provided by the server, asking the user whetherthe terminal device is subject to recovery or addition if the member IDand the password as input are valid, asking the user to input apreliminary registered name of a preliminary registered terminal deviceof the user if the terminal device is subject to recovery, transferringregistered information corresponding to the preliminary registered nameinto registered information corresponding to the terminal device subjectto recovery, and asking the user to input a new name of the terminaldevice if the terminal device is subject to addition, a new terminal IDbeing assigned to the terminal device, the new terminal ID and the newname being managed in relations to the member ID, the new terminal ID,the new name and the new name being transmitted to the terminal deviceso as to be saved therein.

According to a further aspect of the invention, there is provided acomputer program executed by a controller of a terminal device torealize a method of downloading and using contents through a networksystem, the network system including the terminal device, a managementserver and a downloading site, the computer program defining a methodincluding the steps of transmitting a request for downloading contentsto the management server, the management server performing apredetermined registration operation upon receipt of the request,receiving, from the management server, attribution data corresponding tothe contents to be downloaded by the terminal device, the attributiondata including information of the downloading site, the attribution datafurther including usage period data indicative of a period during whichthe contents can be used in the terminal device, and accessing thedownloading site in accordance with the information included in theattribution data and downloading the contents, and the terminal deviceincludes an execution inhibiting system that inhibits handling of thecontents after the period indicated by the usage period data hasexpired.

In this case, the request for downloading may include a request forpurchasing the contents.

Optionally, the request for downloading includes a request for a trialuse of the contents.

Still optionally, the usage period may include a number of times thecontents is allowed to be used.

Alternatively, the usage period may include an expiration date of theusage period.

Further optionally the method includes a step of calculating a remainingperiod to the end of the usage period.

Furthermore, the management server may transmit confirmation dataindicative of completion of registration to the terminal device. Themethod may include a step of transmitting a request for the attributiondata to the management server in response to receipt of the confirmationdata, and the management server may transmit the attribution data to theterminal device in response to the request for the attribution datatransmitted from the terminal device.

Optionally, if a communication error occurs between the managementserver and the terminal device when the attribution data is downloaded,the step of downloading the attribution data is re-executed.

Further, if a communication error occurs between the terminal device andthe downloading site when the contents are downloaded, the step ofdownloading the contents is re-executed.

According to another aspect of the invention, there is provided acomputer program executed by a controller of a management server of anetwork system to realize a method of managing downloading of contentsin the network system, the network system including a terminal device,the management server and a downloading site. The program defines amethod including the steps of executing a first phase procedure in whichthe management server receives a request for downloading contents fromthe terminal device and performs a predetermined registration operation,and executing a second phase procedure in which the management servertransmits attribution data corresponding to the contents to bedownloaded by the terminal device, the attribution data includinginformation of the downloading site, the attribution data furtherincluding usage period data indicative of a period during which thecontents can be used in the terminal device. The terminal device mayaccess the downloading site in accordance with the information includedin the attribution data and downloads the contents.

Further, the terminal device may include an execution inhibiting systemthat inhibits handling of the contents after the period indicated by theusage period data has expired.

Optionally, the network system may further include a billing serverhandling billing to a user of the terminal device, and the first phaseprocedure may include a step of instructing the billing server to billthe user for the contents upon receipt of the request for downloading.

Further optionally, the billing server may transmit a predeterminedcommand to the management server when the billing is completed, and thefirst phase procedure includes a step of performing the predeterminedregistration operation after the predetermined command is received fromthe billing server.

Still optionally, the second phase procedure may include a step oftransmitting confirmation data indicative of completion of registrationto the terminal device. Further, the terminal device transmits a requestfor the attribution data to the management server in response to receiptof the confirmation data, and the second phase procedure further includea step of transmitting the attribution data to the terminal device inresponse to the request for the attribution data transmitted from theterminal device.

In this case, the confirmation data may include an HTML file including apredetermined embedded command, the terminal device returning thepredetermined embedded command upon receipt of the HTML file, and thestep of transmitting transmits the attribution data in response to thepredetermined embedded command transmitted from the terminal device.

Optionally, the method by the program further includes the steps ofreceiving personal information of the user input through the terminaldevice, assigning a member ID to the user, assigning a terminal ID tothe terminal device, managing the terminal ID in relationship to themember ID, and transmitting the member ID and the terminal ID to theterminal device, the member ID and the terminal ID being stored in theterminal device.

Optionally, the program further includes the steps of receiving a devicetype ID when the terminal device is connected to the server, and judgingwhether the received device type ID is one of predetermined device typeIDs.

Further optionally, the method defined by the program further includingthe steps of receiving a name of the terminal device through theterminal device, managing the terminal ID and the name of the terminaldevice in relationship to the member ID, and transmitting the member ID,the terminal ID and the name of the terminal to the terminal device, themember ID, the terminal ID and the name of the terminal being stored inthe terminal device.

Furthermore, the method defined by the program may include the steps ofrequesting for input of the member ID and the password if the member IDand the terminal ID are not transmitted from the terminal device whenthe terminal device connects for the service provided by the server,asking the user whether the terminal device is subject to recovery oraddition if the member ID and the password as input are valid, askingthe user to input a preliminary registered name of a preliminaryregistered terminal device of the user if the terminal device is subjectto recovery, transferring registered information corresponding to thepreliminary registered name into registered information corresponding tothe terminal device subject to recovery, and asking the user to input anew name of the terminal device if the terminal device is subject toaddition, a new terminal ID being assigned to the terminal device, thenew terminal ID and the new name being managed in relations to themember ID, the new terminal ID, the new name and the new name beingtransmitted to the terminal device so as to be saved therein.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood and appreciated from thefollowing detailed description, taken in conjunction with the drawingsin which:

FIG. 1 is a block diagram schematically showing a system configurationaccording to an embodiment of the invention;

FIG. 2 is flow diagram illustrating a service according to the firstembodiment;

FIGS. 3A through 3F show various examples of execution environments ofapplications or the like, to which the present invention is applicable;

FIG. 4 shows an example of membership database according to theembodiment;

FIG. 5 shows a relationship between members, member IDs, terminal IDsand “MY MENU” for each terminal;

FIG. 6 shows an exemplary configuration of a application databaseaccording to the embodiment;

FIG. 7 shows an example of ADF information according to the embodiment;

FIG. 8 is a flowchart illustrating a service flow on the user side;

FIG. 9 shows a sequence between the user terminal and the managementserver for registering a new member;

FIGS. 10A through 10D show transition of displayed image on the userterminal when the member registration is performed;

FIGS. 11A through 11F show transition of displayed image on the userterminal when a terminal registration is performed;

FIGS. 12A and 12B show images displayed on the user terminal: FIG. 12Ashows a log-in image and FIG. 12B shows an image of Top Menu;

FIG. 13 is a sequence diagram illustrating a procedure when a userapplies for an application through an application menu;

FIG. 14A shows an image of an application menu and FIG. 14B shows animage of a list of categories displayed on the user terminal;

FIGS. 15A through 15E show transition of displayed images when a userapplies for updating (including purchasing) of the expiration periodthrough the MY MENU;

FIG. 16 is a sequence diagram illustrating three phases of management ofapplications according to the embodiment;

FIG. 17 shows a sequence for correcting a built-in clock of the userterminal;

FIG. 18A shows an appearance of the user terminal and FIG. 18B shows amenu when the user terminal is in an off-line status;

FIGS. 19A and 19B shows screen images of a play list and iconsindicating information related to expiration of the applications,respectively;

FIGS. 20A through 20D show exemplary screen images displaying variousinformation;

FIG. 21 is a flowchart illustrating a clock check procedure which isexecuted by the application when it is executed;

FIG. 22 is an exemplary screen image of the user terminal when icons aredisplayed; and

FIG. 23 is a flowchart illustrating a procedure of displaying the iconsshown in FIG. 19B;

FIG. 24 is a block diagram showing an exemplary configuration of a cellphone;

FIG. 25 is a block diagram showing an exemplary configuration of a PDA;

FIG. 26 shows an exemplary system configuration of a management system;

FIG. 27 is a flowchart illustrating an operation of a terminal device;

FIG. 28 shows a flowchart illustrating the operation of the managementserver corresponding to the operation of the terminal device shown inFIG. 27;

FIG. 29 shows a flowchart illustrating a type A retry procedureaccording to the embodiment;

FIG. 30 is a flowchart illustrating an operation of the managementserver when the type A retry procedure shown in FIG. 29 is performed;

FIG. 31 is a flowchart illustrating a type B retry procedure accordingto the embodiment;

FIG. 32 is a flowchart illustrating an operation of the managementserver which is executed when the procedure shown in FIG. 31 is executedin the terminal device;

FIG. 33 shows a flowchart illustrating a type C retry procedure executedin the terminal device;

FIG. 34 is a flowchart illustrating an operation of the download sitecorresponding to the type C retry procedure; and

FIG. 35 is a flowchart illustrating a procedure when an applicationhaving been downloaded is executed in the terminal device.

DETAILED DESCRIPTION OF THE EMBODIMENT

Hereinafter, an expiration management system according to an embodimentof the invention will be described with reference to the accompanyingdrawings.

FIG. 1 is a block diagram schematically showing a configuration of theexpiration management system 1000 according to an embodiment of theinvention.

The expiration management system 1000 includes a plurality of terminaldevices 10, a management center 200, application venders 300, a storageservice server 420 and a print service server 430, which areinterconnected through a network such as the Internet.

The management center 200 manages applications (which includes software,electrical data and the like) developed or created by applicationvenders 300, and distributes the same to the users of the terminaldevices 10. The management center 200 mediates a network service such asstorage service and print service provided by the storage service server420 and the print service server 430, respectively, to the users of theterminal devices 10.

In order to achieve the above function, the management center 200 isprovided with a portal site 210 and a management server 220. The portalsite 210 is a web site having a billing management section 215, andfunctions to bill users who use pay service, payware and the like, andto accept the payment therefor by means of electronic money. The portalsite 210 includes a web server and various CGI (not shown). Themanagement server 220 includes an application holder 225 which storesapplications provided by the application venders 300, a network serviceinterface 240 which interfaces the storage service server 420 and theprint service server 430, and a management section 230 which manages theapplications and the services. The management section 230 is providedwith a membership data base 150 and an application data base 260. InFIG. 1, as an example of the application, Java application is indicated.

The terminal devices 10 are so-called non-PC terminal devices, which arenetwork terminal devices other than personal computers (PC), accordingto the embodiment. The non-PC terminal devices have characteristicswhich are: (a) a processing speed of a CPU is relatively slow; (b) acapacity of a RAM is relatively small; (c) a capacity of a local storageis relatively small (not a gigabyte hard disk but a megabyte flashmemory); (d) relatively low extendability; and (e) a relatively smalldisplay screen, in comparison with a typical PC. With the abovecharacteristics, for the non-PC terminal devices 10, there are variousrestrictions both in the hardware and software. It should be noted thatthe non-PC terminal devices include a PDA (personal digital assistant).

The PDA may be provided with a built-in communication unit including aLAN interface, a modem, a wireless communication device or the like.Optionally or alternatively, the PDA may be configured to have a cardslot for a compact flash memory or the like, in which a LAN card, amodem card, a wireless communication card may be inserted.

Generally, PDAs are portable devices, however, according to theembodiment, PDA may include a stationary device set up on a desk or thelike. Further, some PDAs are implemented in wrist watches. Furthermore,the non-PC terminal devices may include network electrical householdappliances and electrical equipment (which may be called net electricalappliances, Internet appliances, information electrical equipment andthe like), which have function for connecting a computer networkincluding the Internet. Examples of the internet electrical equipmentinclude an internet television set, a digital television set, a set topbox for a CATV, a game machine, a telephone device, a facsimile device,a printer, a copier, a scanner and the like. Further, the internetelectrical equipments include a refrigerator, a microwave oven, anelectric hot-water pot, an electric rice cooker, a coffee maker, an airconditioner, which are connectable with the Internet. The non-PCterminal devices include mobile communication devices, which are devicesmovable in association with a person or vehicle. Examples of the mobilecommunication devices are a cell phone, a PHS terminal, a car navigationterminal device, an in-vehicle audio device, an in-vehicle radio, anin-vehicle television set, an in-vehicle video player, a digital cameraand the like.

The terminal devices 10 includes a browser 70 for viewing web pages, aJAM (Java Application Manager) 64 for downloading applications and thelike and managing files, a local storage 67 for storing the downloadedapplications and the like, and an application execution section 60 whichexecutes the application 80. In FIG. 1, the local storage 67 in theterminal device 10 is hardware, but the other blocks are realized bysoftware, and can be stored in the local storage 67.

The application execution section 60 includes, according to theembodiment, a Java VM (Java virtual machine) 61, a class library 62, andan API (Application Program Interface) 66 capable of handling thenetwork services. It should be noted that the Java VM 61 is a programmodule executing a Java byte code, which runs on an OS (operationsystem) which is not shown.

The JAM 64 executes downloading of the Jar file, ADF (applicationdescriptor file) and the like, management of the ADF files includinganalysis thereof, and exchanges messages with the Java VM 61.

The Jar file is a Java application in the form of Jar, and thus the bodyof the application. The ADF file is application attribution data to bedownloaded prior to downloading of the Jar file in accordance withaction related to usage of the application and the like such as thetrial, purchase or update of an application or the like. The ADF file isthus used for judging whether the Jar file is successfully downloaded,whether billing is done, and for authenticating a code signature of Jarfile. According to the embodiment, the ADF file includes an expirationattribution indicative of the expiration of usage. In association withincorporation of the expiration attribution, an enhanced section 65 isprovided in the JAM 65 to execute various procedures related to themanagement of the expiration of the usage.

Specifically, the enhanced section 65 manages the expiration of usage ofthe downloaded application, a clock (including its calendar function),the member ID, and the terminal ID. The enhanced section 65 furtherprovides a security function (encryption, restriction of a range of useraccessible resources (mainly network domain) and a user interface forguiding the management functions above for the user.

The API 66 capable of handling the network services has a function ofinforming a user' s request, which is issued when the user requests fileoperation or printing through a predetermined application, to theinterface 240 of the server.

The application the terminal device 10 executes may be downloadeddirectly from the application vender 300 or the like instead ofdownloading froth the application holder 225 of the management server225.

FIG. 2 is a flow diagram illustrating a service according to the firstembodiment.

Firstly, the application vender 300 registers a developed application 80with the management section 230 of the management server 220 of themanagement center 200, and stores the application 80 in the applicationholder 225 ({circle around (1)}). At this stage, although it is notnecessary, an administrator of the management center 200 may toll afiduciary fee for the registered application 80. The management center200 accepts a membership registration for the present service from auser of the terminal device 10 through the portal site 210 ({circlearound (2)}). At the same time, the management center 200 opens asettlement account 235 of the registered user for the electroniccommerce ({circle around (3)}). It should be noted that, according tothe embodiment, the electronic money is used for settlement. However, itis only an example, and the invention is not limited to the settlementusing the electronic money.

Thereafter, the user, who is the member of the service, accesses theportal site 210 using the terminal device 10, selects a desiredapplication, and downloads the same ({circle around (4)}). According tothe embodiment, at an initial stage of usage, the user is allowed to usethe application for free for a trial use ({circle around (5)}). If theuser determines to keep using the application, he/she can submit aregistration (purchase request) to the management server 220 ({circlearound (6)}). At this stage, the user pays a usage fee ({circle around(7)}). By the payment, the user receives a formal license to the usageof the application ({circle around (8)}). According to the embodiment,the application is provided by lease so that a usable period is limited.In this embodiment, the term “lease” is used in a broad sense, andincludes a case where the application is rent (i.e., rental). Thelicense the user holds is a license to the usage of the applications orthe like with an expiration period. In other words, purchasing thelicense means purchasing a right to use an application for apredetermined limited period (by the expiration date/time). With thisconfiguration, the user is required to make payment corresponding onlyto a period during which the user wishes to use the application.Depending on necessity, the user may extend the expiration term, orre-purchase the application after the predetermined limited period haspassed.

From the payment by the user, a charge of the management center 200 issubtracted, and the remainder is given to the application vender 300({circle around (9)}). If the application is capable of using thenetwork services, by executing the application, the storage serviceand/or the print service can be used. The storage service is a servicefor providing a storage area for each member through the portal site,and the print service is a service for printing an image of digitalphoto data for the like provided by members. For such network services,the expiration of usage is set, and the user can make use of theservices by paying appropriate charges ({circle around (10)} and {circlearound (11)}). Similarly to the application, from the payment for theservices, the charges for the management center 200 are subtracted, andthe remainder is given to the service providers ({circle around (12)}).

FIG. 3A shows a fundamental model of the terminal device 10 according tothe embodiment. As shown in FIG. 3A, the application and the like areused in an application execution environment 52 built up on an OS(Operation System) 50, and further, an expiration management function 53in association with the application execution environment 52 manages theexpiration of usage of individual application and the like. It should benoted that the application and the like according to the embodimentinclude application programs such as aforementioned Java applicationsand a part of the components of such applications. Further, theapplication and the like may include a text, image (still or moving),music and/or web contents such as Mark-up Language files and the like.The application execution environment implies a program or a group orprogram executed on the OS and providing an environment for a user toexecute the application and the like. Usage of the application includesvarious actions such as browsing, listening, using or executing.Examples of applications and their execution environments are indicatedin FIGS. 3B1, 3B2, 3B3, 3C through 3F.

FIGS. 3B1, 3B2 and 3B3 show relationships between applications and theirexecution environments. As shown in FIG. 3B1, when a Java application isexecuted, a Java virtual machine (Java VM) interprets Java byte code,and executes it. In a case shown in FIG. 3B2, an application may becreated using the C language, which is complied to create an executionfile (a so-called exe file). The thus created execution file is loadedwith a loader on a memory and executed by a CPU. FIG. 3B3 is similar toa case of FIG. 3B2 except that the execution file is replaced with acombination of an execution file and related components. In this model,when the application is executed, the associated components are referredto. It should be noted that, in such a configuration, the execution fileand the associated components are regarded as an application, and theexecution may be considered as a part of the entire application.According to the embodiment, such an execution (i.e., a part of theentire application) may also be subject to be downloaded.

FIGS. 3C, 3D, 3E and 3F show examples of data to be downloaded otherthan the execution files. When image data is downloaded, it can bedisplayed on a display device using a viewer corresponding to the formatof the image data. If the image data is compressed, the viewer mayexpand the image data. If a moving picture is to be viewed, a movingpicture player corresponding to the format of the moving picture isused. For music data, a music player corresponding to the format of themusic data is used. In many cases, the music data is compressed (e.g.,MP3 data), and the music player is typically configured to expand thecompressed data. Text data is also subjected to be downloaded, andviewed by a viewer. A typical example of the text file is an HTML file,which is viewed using a text viewer such as a browser. In particular,when the HTML file is viewed, the viewer or the browser interpret thedefinitions (know as tags) and display the text in accordance with thedefinition.

As aforementioned, according to the embodiment, not only execution filesbut also various forms of contents (i.e., execution files, scripts, apart of application, image data, animation data, music data and thelike. In the specification, a term “content(s)” refers to theabove-described execution file, image data, Java scripts, moving picturedata, music data, text data and the like. Further, the term“application” refers to an execution file in the narrow sense, andrefers to the contents in the broad sense.

The management server 220 of the management center 200 has themembership data base 250 used for managing the member informationcorresponding to the provided service, and the application data base 260for managing the applications and the like registered by the applicationvenders.

FIG. 4 shows an example of membership database 250 according to theembodiment. The membership data base 250 is kept and managed by themanagement section 230 of the management server 220. In the exampleshown in FIG. 4, when a member is registered, a record of the membershipinformation 251 is created. The membership information 251 typicallyincludes the member ID, name of the member, a password, a mail address,a telephone number (telno), a birthday, a sex, an address, theregistration data and time, the last log-in date and time, a deletionflag.

For the membership information 251, at least one record of terminalinformation 252 is created. The terminal information 252 is informationindicative of a terminal device to be used for using the present serviceby the user. In this example, the terminal information 252 includes themember ID, the terminal ID, a terminal name, date and time ofregistration, a deletion flag.

The member ID is identification information uniquely assigned to eachmember when the member is registered. The terminal ID is identificationinformation used for the present service (e.g., a serial number) whichis uniquely assigned by the server to the terminal device when theregistration is made. It should be noted that the number of records ofthe terminal information 252 corresponding to the number of the terminaldevices registered by a single member.

For each record of the terminal information 252, “MY MENU” 253 iscreated with one-to-one correspondence. The “MY MENU” 253 is formanaging a certain group of applications which are selected by the user(member) from among all the applications managed and provided by themanagement server 220. The terminal ID and the “MY MENU” ID are retainedand only the member corresponding to the terminal and MY MENU IDs isallowed to browse the “MY MENU” 253.

In the “MY MENU” 253, a new record of “my application” information 254is added. The “my application” information 254 is created when a trialor normal usage of a new application is started in the terminal device.The “my application” information 254 includes: “MY MENU” ID, anapplication ID (APPID)/revision number, expiration date and time,download (DL) counter, purchase counter, deletion date and time of theapplication. It should be stressed that the expiration date and timerepresents the expiration date and time of the application. The numberof purchases means the number of downloads of an application when thepayment of the charges thereof does not necessarily coincide with thevalue of the DL counter indicating the number of download since thedownload can be performed repeatedly for free during a period in whichthe download is allowed.

As understood from the structure of the membership database, accordingto the embodiment, when a single member uses a plurality of terminaldevices and uses the provided service, a plurality of terminal IDs aregiven to a single member ID, and to each terminal ID, a “MY MENU” isassigned. For example, the application purchased using a first terminaldevice is registered with a “MY MENU” of the first terminal device, andcannot be accessed using another terminal device. Thus, the applicationis not shared among the plurality of terminal devices of a user. It isbecause: (1) in order to prevent dishonest usage such that a pluralityof users use the same application in different terminal devices; (2) itwould be very difficult to transmit updating of the expiration date to aplurality of terminal devices when, for example, the user pays anappropriate fee to buy “extension” of expiration date; and (3) to avoida problem such that an application a member purchased through oneterminal device does not work in another terminal device.

In order to deal with a failure which occurs in the terminal device orloss of the terminal device before the expiration date of anapplication, a recovery function is provided, which will be describedlater.

FIG. 6 shows an exemplary configuration of the application database 260,which is held and managed by the management section 230, according tothe embodiment.

According to this example, a new application management record 262 isadded to an application menu 261 when a new application is registered.The application management record 262 includes an application ID, arevision number of the application, a vender ID, a name of theapplication (Name), a type of the application (Javatype), a category IDof the application, registration date and time the application, a trialperiod, a unit period for lease, a unit price for lease, a deletionflag, an application URL (information regarding sites where theapplication is obtained), a size of the application, a screen size andthe like.

The category ID of the application is used for listing the applicationin the application menu based on categories, which will be describedlater. The registration date and time is the date and time when thevender formally registered the application. The trial period is a periodduring which a user can use an application for trial, and is determinedfor individual application. In the example shown in FIG. 6, the trialperiod is set to three days. The unit period for lease represents aperiod for which the user can use the application per one purchase (orupdate). The unit price represents a price for one purchase (or update).

The deletion flag is a flag which is set to ON when the registration ofthe application is deleted. It may be possible to delete the applicationmanagement record itself when the registered application is deleted.According to the embodiment, however, by using the deletion flag, theregistration history is kept. The application URL represents the URL(Uniform Resource Locator) indicating a site where the application canbe downloaded. The URL may indicate not only the application holder 225of the management server 220, but also a server provided by the venderof the application or the like.

The screen size represents the size of a display area at the terminaldevice when the application is used in the terminal device. The screensize information is transmitted when the application is downloaded. Theterminal device interprets the screen size information and realizes theindicated screen size.

According to the embodiment, it is assumed that, at one purchase, oneunit lease period is purchased. Optionally, according to the user'schoice, an integer multiple of the unit period, (that is, (unit leaseperiod)×n, where n is an integer not less than one)), may be purchasedat one purchase. In such a case, if the unit period is ten days, and theuser purchases three units, the price will be three times the unitprice, and the period will be thirty days.

FIG. 7 shows an example of the ADF information 55. As described above,the ADF is a file which is created by the server and transmitted to theterminal device prior to the downloading of the application. The ADFinformation 55 typically includes an application name (Name), a revisionnumber, a vender ID, an application URL, an application size, anextension version number, an expiration period (Expiration Time), alease period, the code signing, a screen size and the like.

The extension version and the expiration time are the data set by theserver when the application is downloaded, while the other data iscopied from the application management record 262 of the applicationdatabase 260. The usable period is a copy of the lease unit period shownin FIG. 6. It should be noted that if the lease period can be set as amultiple integer of the unit lease period, the lease period is setaccordingly. According to the embodiment, as the expiration due, thedate and time are designated. Further, when the application is subjectto a trial use, characters″, trial″ are added to the expiration data asan identifier.

FIG. 24 shows a hardware configuration of a cell phone 10A which is anexample of the terminal device.

As shown in FIG. 24, the cell phone 10A includes a CPU 1001 whichcontrols the entire operation of the cell phone 10A. To the CPU 1001, aRAM 1002, a ROM 1003, a wireless communication unit 1005, an audioprocessing unit 1011, an I/O interface 1007 and a display device 1006.To the wireless communication unit 1005, an antenna 1004 is connected.Further, a cursor key 1008, an enter key 1009 and dial keys 1010 areconnected to the CPU 1001 through the I/O interface 1007. A microphone1012 and a speaker 1013 are connected to the audio signal processor1011.

FIG. 25 shows a hardware configuration of a PDA 10B which is anotherexample of the terminal device.

As shown in FIG. 25, the PDA 10B includes a CPU 1101 which controls theentire operation of the PDA 10B. To the CPU 1101, a RAM 1102, a ROM1103, a CF (compact flash) card I/F 1104, an I/O interface 1107 and adisplay device 1106 are connected. To the CF card I/F 1104, a wirelesscommunication card 1105 is inserted. Further, a touch panel 1108 and anoperational buttons 1109 are interfaced by the I/O interface 1107.

A user selects a menu item to move to a desired screen (i.e., a desiredscreen image is displayed on the display device 1006 or 1106). A menuitem is selected as described below. When the user uses the cell phone10A, the user operates the cursor key 1008 to move the cursor on thescreen of the display device 1006 to locate at a desired menu item. Themenu item on which the cursor is located is typically highlighted on thedisplay device 1006. Then, by operating the enter key 1009, thehighlighted menu item is selected, and the screen image is switched toan image corresponding to the selected menu item. When the user uses thePDA 10B, the user may select a menu item by tapping a pen on a desiredmenu displayed on the screen of the display device 1106.

FIG. 26 shows an exemplary system configuration of the managementsystem. The management system includes the cell phone 10A and the PDA10B which can connect base stations 2001 and 2002, respectively. Thebase stations 2001 and 2002 are connected with a wireless network 2000,which is a cell phone packet communication network. The wireless network2000 is connected with the Internet 3000 through a gateway 2003, whichconverts protocols between the wireless network 2000 and the Internet3000. The gateway 2003 also functions to bill respective users for thetransmitted packets. The application venders 300, the management server220, the billing server 210 are also connected to the Internet 3000.Thus, in this example, communication between the terminal devices (thecell phone 10A and the PDA 10B) and each of the application venders 300,the management server 220 and the billing server 210 are executedthrough the wireless network 2000, the gateway 2003 and the Internet3000. It should be noted that the billing method is not limited to onedescribed above, and another method may be employed. For example, thebilling is made with respect to a duration of time for which the userkeeps connecting the terminal device to the management server and thelike.

FIG. 8 is a flowchart illustrating a service flow viewed from the userside.

Firstly, the user purchases a terminal device in order to use theabove-described service (S71). According to the embodiment, in view ofsecurity and the like, terminals which can use the present service arerestricted to predetermined ones. The type of the terminal device can beidentified by type identifier implanted when the terminal device isshipped from the manufacturer. When the type identifier is notimplanted, it may be possible to judge the type of the terminal devicebased on, for example, user agent information incorporated in an HTTPheader transmitted form the terminal device to the server. It should benoted that, in this case, the type of the terminal device is judged fromthe identifier of the browser installed in the terminal device. The useraccesses the portal site using the terminal device and performs a userregistration (S72). In S73, the user registers electronic money for anelectronic commerce, and reloads the electronic money. The aboveprocedure is an initial procedure and should be executed once at theinitial stage.

Next, a normal procedure is executed. In the normal procedure, the userselects a desired application at the portal site (S74), downloads (S75),and uses the same (S76) for trial. According to the embodiment, afterthe trial period has passed, the user is allowed to download the sameapplication for trial by three times (S77, S78). The number ofdownloadings can be judged based on the download counter of the myapplication information of the user database 250 and the purchasecounter.

If the user has determined to keep using the application (S79), he/shecan purchase the application and obtains a formal right to use theapplication (S80). When the user purchases the application, if theelectrical money should be reloaded in view of the price of theapplication (S81), the user reloads the electrical money (S82). Afterthe payment of the electrical money (S82), the expiration period for theapplication is determined ('S84). Although not shown in the drawing, theapplication can be purchased after the expiration of the trial period.

When the user has purchased the application, countdown of the expirationperiod starts. When the expiration date has come (S85), a warningmessage informing the expiration of the period is indicated at thestart-up of the application (S86). In response to this message, if theuser instructs re-purchase (S87), and pays the charge (S83), theexpiration date is reset (S84). It should be noted that, although notshown in the drawing, the extension of the expiration period can be donebefore the expiration date. In such a case, a new usable period is addedto the remaining usable period.

Hereinafter, the operation of the system according to the embodimentwill be described in detail.

FIG. 9 shows a sequence between the user terminal and the managementserver for registering a new member. According to the embodiment, themanagement server communicates with the terminal device through theInternet using the portal site. The communication typically uses TCP/IPprotocol, an http (hyper text transfer protocol), https, or ftp (filetransfer protocol) is used for data communication. When the https isused, an SSL (Secure Socket Layer) is used to conceal the communicationcontents.

As aforementioned, only the predetermined types of terminal devices areused for the present service. When the connection is established, themanagement server receives, the type ID from the terminal device (S111)to judge whether the terminal device is categorized in the predeterminedtypes (S112). As will be described later, if the terminal device has isa registered device, the member ID and terminal ID stored in theterminal device are also transmitted to the management server when theconnection is established. If the type ID is not received or if thereceived type ID is not one of the predetermined types, a denyingmessage indicating that the service cannot be provided is transmittedfrom the management server to the terminal device (S113).

If the type ID is OK (i.e., the type ID is one of the predeterminedtypes), it is judged whether the member ID and the terminal ID have beenreceived (S114). If the member ID and the terminal ID have beenreceived, the management server asks a user of the terminal device toinput a password. If the input password is correct, the managementserver allows the user of the terminal device to log in (S115).Procedure after logging in will be described later.

If the member ID and the terminal ID have not been received, it isjudged that the terminal being connected is not registered with thepresent service. In this case, a registration screen image (FIG. 10A) istransmitted to the terminal device (S116). Although not shown in thedrawing, even though the management server receives the member ID andthe terminal ID, if a combination thereof does not coincide with theregistered one, the management server transmits the denying message tothe terminal device.

The unregistered member then selects “new member registration” which isa link to a registration page. Such a link is an anchor (i.e., a tagdesignating the link or procedure) inserted in a markup language filetypically represented by HTML (Hyper Text Markup Language) file. Whenthe user selects the anchor, the designated procedure is executed and/orthe designated page is displayed. If the user who has already beenregistered intends to register a new terminal device or when theregistered terminal device was broken or lost and the user wishes tohave the acquired right of the registered terminal device transferred toa new (or fixed) terminal device, another anchor “for recovery” is to beselected.

Depending on the user's choice (S117), the management server judgeswhether the new member is to be registered or the new terminal isregistered (S118). If the member is registered, as shown in FIG. 10B,the management server requires the user to input personal informationincluding a user name, a password, an e-mail address, a mail address, aname of the terminal and the like, and assign a member ID to the user asshown in FIG. 10C, end register the member with the membership database(S134). Then, the management server transmits the assigned member ID tothe user (S135). Next, the management server receives an instruction forregistering the electronic money (S136), and performs an electronicmoney registration procedure including the opening of the electronicmoney account (S137). Further, the management server assigns a terminalID to the terminal device used by the user, and registers the terminalID, in relationship with the name of the terminal device, with themembership database (S140). Thereafter, as shown in FIG. 10D, themanagement server notifies the registration results to the user (S141),and guides the user to move into the log-in screen.

When the terminal registration is requested by the user (S118), as shownin FIG. 11A, the management server requires the user to input the memberID and the password (S119), and based on the input data (S120),authenticates the member (S121). Then, as shown in FIG. 11B, themanagement server asks the user to select the addition of a terminaldevice or recovery of the terminal device (or transfer the right) (S123,S124). If a terminal device is added (S125), the management serverrequires the user to input a new name of the terminal device (S126,S127) as shown in FIG. 11C, and control moves to the terminalregistration procedure (S140).

If it is judged that the recovery of the terminal device is to beperformed in S125, the recovery procedure is performed. Specifically, asshown in FIG. 11E, the management server asks the user to select aterminal by its name (S128) to identify the terminal device subject tothe recovery based on the user's choice (S129). Then, the managementserver copies (S130) the “my application information” 254 (see FIG. 4)of the selected terminal device to the “MY MENU” 253 (see FIG. 4) of thenew terminal device, and set the deletion flag of the terminal devicedesignated by its name ON (S131). Thereafter, similar to the above, theterminal device registration procedure is executed (S140).

After the terminal device registration procedure is finished, themanagement server transmits the member ID, terminal ID, type ID and thename of the terminal device to the terminal device (S141). Preferably,in order to have the user to know the registered contents, the memberID, the type ID and the name of the terminal device are displayed on thedisplay of the terminal device (S142). It should be noted that theterminal ID is hidden even for the member, and is stored in a localstorage of the terminal device in association with the name of theterminal (S143). According to the embodiment, the terminal device is notprovided with measure to have the user access the ID data above.

FIGS. 12A and 12B show images displayed on the user terminal.Specifically, FIG. 12A shows a log-in image and FIG. 12B shows an imageof Top Menu. The top menu shows menu items of “application menu”, “MYMENU”, “reloading of electronic money”, “settings”, “help” and the likeas anchor points.

The “application menu” provides all the applications provided by theservice, and the user can select applications from among the displayedones and use the same for trial. The “MY MENU” is a menu in which theapplications selected by the user are registered as an applicationgroup. The user is capable of purchasing or extending the expirationperiod of each application included in the group. According to theembodiment, it is possible to extend the expiration period during orafter the expiration of the period. It is also possible to re-try theapplication included in the “MY MENU” after the expiration periodthereof. It should be noted that the number of re-trial usages islimited. Examples of the application menu and the MY MENU will bedescribed in detail later. The “reloading of the electrical money” is anitem for reloading the electrical money prior to the payment forapplications. The “settings” menu is used for updating the memberinformation and/or certification.

FIG. 13 is a sequence diagram illustrating a procedure when a userapplies for an application through an application menu.

The management server transmits the top menu to the terminal device(S211), and receives a request for the application menu from theterminal device (S212), and transmits the application menu (S213) to theterminal device. If the user selects an application, data identifyingthe selected application is transmitted to the management server (S214).In response to the identifying data, the management server registers theselected application with the “MY MENU” of the user as one of “myapplications” (S215). The management server further transmits an HTMLfile including a “GET ADF” command to the terminal device (S216). TheHTML file may be any file, for example, a file informing the terminaldevice of the registration results. The terminal device interprets thereceived HTML, and without the user's instruction, returns the “GET ADF”command to the management server to request the management server totransmit the ADF file (S217). In response to the “GET ADF” command, themanagement server interprets the same and creates an ADF as describedwith reference to FIG. 7 with respect to the application currentlyselected by the user. When the ADF is created, the expiration period isincorporated in the ADF. The expiration period is determined such that,for example, the date (and time) of the trial usage requested isregarded as the start point, and the expiration data (and time) isdetermined based on the expiration period as registered. The thuscreated ADF is transmitted to the terminal device (S219).

The terminal device stores the received ADF in the local storage andanalyzes the same (S220). Then, the terminal device starts up the JAM(S221). The JAM requests, in accordance with the description of the ADF,the site indicated by the application URL for the Jar file, which is themain program of the application (S222). As aforementioned, theapplication URL may be the application holder in the management server,the download site of the application vender, or anywhere else where theapplication is available. Optionally, if the ADF does not include anapplication URL and/or the application URL indicated by the ADF is notfound, a predetermined site may be regarded as the downloading site.When the Jar file is transmitted from the site indicated by theapplication URL to the terminal device (S223), the terminal devicereceives the file and stores the same in the local storage (S224). Then,the management of the expiration of the application is initiated (S225).

FIG. 14A shows an example of an image of an application menu transmittedby the management server to the terminal device. In this application,the application menu includes menu items of “list of categories”, “newapplications”, “searching for application” and the like. In FIG. 14B anexemplary image of a list of applications is displayed on the userterminal. In this example, an image when a game category is selectedfrom the lis't of categories is shown. Further, in this example, a nameof each game application, a trial period and a brief description of eachapplication are included. When the user designates one of the listedapplications, as described above with reference to FIG. 13, downloadingof the application is initiated.

Now, with reference to FIGS. 15A through 15E, transition of images whenthe usage period is updated from the MY MENU will be described. FIGS.15A through 15E show transition of displayed images when the userapplies for updating (including purchasing) of the expiration periodthrough the MY MENU.

FIG. 15A shows an example of the MY MENU. In the example in FIG. 15A,menu items of “download” and “updating” are displayed.

The item “download” is selected, for example, when the user intends toapply for re-trial of the application after the trial period hasexpired. When the item “download” is selected, the displayed imagechanges to one shown in FIG. 15B, for example. By selecting one oflisted applications, the user is capable of downloading a trialapplication with a new ADF therefor to extend the trial period. In thisexample, the usage is in the trial stage, no fees are required.

When the user select an application, the displayed image changes asshown in FIG. 15E, which indicates that the application is beingdownloaded.

When the “updating of period” is selected, the displayed image changesas shown in FIG. 15C. On the display, the list of the application theuser has once purchased are listed, and the user can update theexpiration date (and time) of any one of the listed applications. Itshould be noted that the “updating” includes the extension of the usageperiod of the applications and re-purchase of the applications whoseusage periods have expired. When the usage period is extended, the newlyprovided period is added to the remainder of the usage period of theapplication in use. For “updating” the period, accounting is performed,and for this purpose, the displayed image changes to one as shown inFIG. 15D. In the exemplary image shown in FIG. 15D, the name of theapplication, the price of the purchase and change of the electronicmoney are displayed so that the user can confirm the same. When the userconfirms, the new ADF file including the updated expiration date (andtime) is transmitted to the terminal device as well as the application(FIG. 15E).

Although not shown in the drawings, in the “MY MENU” shown in FIG. 15A,an item “organization of MY MENU” maybe optionally provided. Byselecting the “organization” item, unnecessary my applications can bedeleted.

FIG. 16 is a sequence diagram illustrating three phases of management ofapplications according to the embodiment.

When the user refers to the MY MENU transmitted from the managementserver (S311) and selects a desired application (S312), informationidentifying the application and a download request are transmitted fromthe terminal device to the management server (S313). The request alsoincludes a request for a new ADF file. The management server transmits abilling request regarding the application to the billing server to billthe user (S314). The billing server performs a billing procedure inresponse to the billing request transmitted from the management server(S315). When the billing procedure is successfully performed, anotification indicating the billing is successfully done is transmittedfrom the billing server to the management server (S316). The managementserver updates the MY MENU corresponding to the terminal device of theuser after the completion of the billing procedure is confirmed (S317).The steps S311 through S317 are a first phase of the updatingapplication procedure.

Then, the management server transmits the HTML file including the “GETADF” command to the terminal device (S318) as aforementioned. Theterminal device analyzes the HTML and, without the user's instruction,transmits the “GETADF” command to the management server to request fortransmission of the ADF file (S319). In response to the “GET_ADF”command, the management server creates the ADF regarding the selectedapplication (S320). When the ADF is created, the expiration period isincorporated in the ADF. The expiration period is determined such that,for example, the date (and time) of the punches request is regarded asthe start point. If there are remaining period in the current usageperiod, the expiration date (and time) of the usage is determined withadding the remaining period. Then, the created ADF is transmitted to theterminal device (S321). The steps from S319 to S321 are second phase ofthe updating application procedure.

In the following phase (i.e., a third phase) of the updating applicationprocedure, the terminal device stores the received ADF in the localstorage and analyzes the same (S322). Then, the terminal device startsup the JAM (S323). The JAM requests a site indicated by the applicationURL included in the ADF for a Jar file, which is the main body of theapplication (S324). Then, the Jar file is transmitted form theapplication URL site to the terminal device (S325). The terminal devicereceives the transmitted Jar file and stores the same in the localstorage (S326), and starts management of the usage period (S327).

With above configuration, the following advantages are available.

(1) If every procedure is performed normally without any problem,purchase request, billing and downloading the application are executedas a series of procedures as if they are a single process. Further, theonly operation performed by the user is the purchase request, and nofurther operation by the user is transparent to the user and need not beexecuted by the user.

(2) In the first phase, after the purchase request command istransmitted from the terminal device to the management server, theprocess is executed only between the management server and the billingserver. Therefore, the stability of the system is relatively high.Further, there is no possibility of interruption of the first phase dueto communication errors between the terminal device and the managementserver.

(3) There might be some communication error between the terminal deviceand the management server. However, if the first phase is completed,even if the communication error occurs between the terminal device andthe management server, re-execution of the second and the third phase issufficient. That is, if the user select the “download” menu from the MYMENU to obtain the ADF file and the Jar file. Therefore, double billingwill not occur even if the communication error occurs.

(4) In the second phase, the files the terminal device is to receive arethe main body of the application (i.e., the Jar file) and the ADF file,both of which are relatively small files. Thus, there is no possibilitythat the session including the billing operation is interrupted due toexchange of large files.

(5) In the third phase, if the Jar file is relatively large, acommunication error may occur between the terminal device and the vender(or the application holder). In such a case, the Jar file may not besuccessfully downloaded. Such a possibility is larger if the terminaldevice is a mobile type device. In such a case, however, only the thirdphase can be re-executed. Specifically, if the Jar file is notcompletely downloaded, since the ADF file has been downloaded, the nameof the application is included in the play list. When the user tries tostart up the application, an error occurs since the application itselfhas not yet successfully downloaded. In such a case, as an errorprocedure, the system may be configured such that the terminal deviceconnects the site indicated by application URL to download theapplication. If the application URL is not the management server (e.g.,the download site of the vender), the management server does nothingregarding the re-downloading the application, which significantlydecreases burdens of the management server in re-downloading theapplication. Such an advantage is more significant if the size of theapplication is larger.

In order to prevent the double billing, the procedure may be modifiedsuch that the billing is performed after the terminal device hascompleted downloading the application (i.e., Jar file). However, in sucha configuration, the management server must await billing operationthroughout the first to third phases. According to the above-describedembodiment, the management server need not wait throughout the first tothird phases, and thus burden of the management server is decreased. Ascan be appreciated easily, if the first phase has been completed, thedouble billing never occurs, and the management server need not checkwhether the third phase is completed or not.

Further, within the usage period, the user is allowed to download theapplication any number of times. In other words, the second phase andthird phase are independent from the billing procedure. Thus, it isensured that the user can obtain the application without a possibilityof the double billing. Therefore, if the local storage is full of data,the user can delete the application to make space for some otherpurpose, and when it becomes necessary, the user can execute the secondand third phases to download the application again for use without beingbilled again. In this point of view, the user can use the site indicatedby the application URL as a virtual storage of the terminal device.

FIG. 27 is a flowchart illustrating an operation of the terminal devicedescribed above in detail.

When the user starts the browser and logs on the service (S701), the MYMENU transmitted from the management server is displayed (S703). Then,the user may select an application (content) from among the listedapplications (contents) (S705). When an application is selected (S705:YES), the terminal device transmits a purchase request to the managementserver (S707). As described above, the management server performs thebilling procedure upon receipt of the purchase request, and thentransmits the notification indicating whether the billing has beensuccessfully completed or an error has occurred. If the billing isunsuccessful, i.e., if the terminal device receives an errornotification (S709: YES), a message indicating that the billingprocedure was unsuccessful is displayed on the display device of theterminal device (S711). In this case, the user needs to start theprocedure shown in FIG. 27 from the beginning. If the billing wassuccessful (S709: NO), the procedure proceeds from the first phase tothe second phase, and the terminal device receives an HTML file from themanagement server (S713).

In S715, it is judged whether the HTML file is successfully received. Ifthere is a communication error or the like during transmission of theHTML file, a TCP/IP protocol processing program, which runs in a lowerlayer than the browser, issues an error notification, thereby theterminal device can judge that the HTML file has not been receivednormally (S715: NO). In this case, a message indicating that a type Aretry procedure should be performed (S741), and procedure shown in FIG.27 is terminated. As aforementioned, since the billing procedure hasbeen completed successfully, only the second and third phase proceduresare sufficient to download and use the application. The type A retryprocedure will be described later.

If it is judged that the HTML file has been successfully received (S715:YES), the CPU of the terminal device interprets the HTML file (S717) andtransmits the “GET ADF” command to the management server (S719). Asdescribed above, the management server creates the ADF upon receipt ofthe “GET ADF” command from the terminal device, and transmits the sameto the terminal device. In 5721, the terminal device receives the ADF.

In S723, it is judged whether the ADF is successfully received.Similarly to step S709, if there is a communication error duringtransmission of the ADF, the TCP/IP protocol handling program issues anerror notification, with which the terminal device judges that the ADFhas not been received successfully. In such a case. (S723: NO), controlproceeds to S743, where a message indicating that a type B retry shouldbe performed. At this stage, since the HTML file has been correctlyreceived, the retry may be started from transmitting the “GET_ADF”command. The type B retry procedure will be described later.

When it is judged that the ADF has been received successfully (S723:YES), control proceeds to S725. At this stage, control proceeds from thesecond phase procedure to the third phase procedure.

In S725, the terminal device starts up the JAM, which request a siteindicated in the ADF for a Jar file (S727). In this case, the downloadsite transmits the Jar file upon request from the terminal device. Theterminal device receives the Jar file in S729.

In S731, it is judged whether the Jar file has been receivedsuccessfully. If there is a communication error or the like, and the Jarfile has not been received successfully, control proceeds to S745, wherea message indicating a type C retry procedure should be performed isdisplayed on the display device of the terminal device. At this stage,since the ADF has been received, the procedure is restarted fromtransmitting of the Jar file request. That is, since the ADF has beenreceived, the application is listed in the play list. However, if thebody of the application has not been received, then the downloadingprocedure for the Jar file should be re-executed.

If the Jar file has been received successfully (S731: YES), thedownloading procedure shown in FIG. 27 is completed. Thereafter, themanagement of the downloaded application should be done asaforementioned.

According to the embodiment, the retry procedures are initiated by theuser. It may be possible to modify the procedures such that the retryprocedures are automatically performed when the communication error isdetected. However, the communication error may be caused due to a badcondition of the radio wave. In such a case, it is preferable that theretry is performed after the user (i.e., the terminal device) is locatedat a position where the radio wave strength is sufficient. It may bepossible that the terminal device judges whether the retry proceduresare to be performed automatically or manually depending on the strengthof the radio wave.

FIG. 28 shows a flowchart illustrating the operation of the managementserver corresponding to the operation of the terminal device shown inFIG. 27.

When the terminal device logs in (S801: YES), the management servertransmits the MY MENU (S803). If the purchase request is transmittedfrom the terminal device (S805: YES), the management server transmits abilling request to the billing server (see S314 of FIG. 16). In S809,the management server waits for completion of the billing procedure. Ifthe billing procedure has been completed unsuccessfully (S811: NO), themanagement server transmits a billing NG notification to the terminaldevice (S813). If the billing procedure has been completed successfully(S811: YES), the management server updates the MY MENU to add the newapplication (content) (S815).

Then, control proceeds from the first phase procedure to the secondphase procedure, and transmits the HTML file embedded with the “GET_ADF”command to the terminal device (S817).

As described above, the terminal device receives the HTML file, andreturns the “GET_ADF” command.

The management server waits for the receipt of the “GET_ADF” commandfrom the terminal device for predetermined period (S819, S825). If thepredetermined period has elapsed without receiving the “GET_ADF” commandfrom the terminal device (S825: YES), the procedure shown in FIG. 28 isterminated. In this case, therefore, the ADF has not been transmitted tothe terminal device.

If the management server receives the “GET_ADF” command from theterminal device (S819: YES), the management server creates the ADF(S821), and transmits the same to the terminal device (S823), and theprocedure shown in FIG. 28 is finished.

FIG. 29 shows a flowchart illustrating the type A retry procedureaccording to the embodiment.

As described above, when the communication error occurs when theterminal device is receiving the HTML file, the type A retry procedureshould be performed.

When the user starts the browser and logs on the service (S901), the MYMENU transmitted from the management server is displayed (S903). At thisstage, the user selects downloading of an application (S905). Then, alist of applications is displayed on the display device of the terminaldevice (S907). The user selects the application for which the billingprocedure has been finished (S909). When the application is selected,the terminal device transmits a request to the management server for theHTML file corresponding to the selected application (S911).

The management server transmits the HTML file in response to the requestreceived from the terminal device.

In S913, the terminal device receives the HTML file transmitted from themanagement server. It is then judged whether the HTML file has beenreceived successfully (S915).

If the HTML file has not been received successfully (S915: NO), controlproceeds to S933, where a message indicating the type A retry procedureshould be performed.

If the HTML has been successfully received (S915: YES), control proceedsto S917. Steps S917 through S931, S935 and S937 are similar to stepsS717 through S731, S743 and S745 of FIG. 27, and therefore, descriptionthereof will not be repeated.

As described above, when the billing procedure has been completed, it isnot necessary to perform the first phase procedure, and the user maydownload the file without performing procedures related to the billing.

FIG. 30 is a flowchart illustrating an operation of the managementserver when the type A retry procedure shown in FIG. 29 is performed.

In S1001, the management server accepts the logging in of the terminaldevice. Then, the management server transmits the MY MENU to theterminal device (S1003). Further, in S1005, the terminal devicetransmits a list of the applications (MY APPLICATIONs) to the terminaldevice.

In response to the request of the terminal device issued in 5911 of FIG.29, the management server transmits the HTML file (S1009), and controlproceeds to S1011. The steps S1011 through S1017 are similar to stepsS819 through S825 of FIG. 28, and description thereof is omitted for thesake of brevity.

FIG. 31 is a flowchart illustrating the type B retry procedure. Thisprocedure is executed when the terminal device has received the HTMLfile but it has not received the ADF. Since the HTML file has beenreceived, the terminal device is capable of transmitting the “GET_ADF”command embedded in the HTML file.

In S1101, it is judged whether the user has instructed to perform thetype B retry procedure. As described above, when the terminal deviceneeds to download the ADF, the message indicating the necessity of theADF is displayed (see S743 of FIG. 27, S935 of FIG. 29). When themessage is displayed, a button for instructing the request for the ADF,the user may be able to request the ADF immediately. Of course theinvention is not limited to such a configuration, and the instructionmay be input to the terminal device in various ways.

When the user inputs the instruction to transmits the request for theADF (S1101: YES), the terminal device interprets the HTML file havingbeen received (S1103).

Steps S1103 through S1121 in FIG. 31 are similar to steps S917 throughS937 of FIG. 29, and therefore, will not be repeated for the sake ofbrevity.

FIG. 32 is a flowchart illustrating an operation of the managementserver executed when the procedure shown in FIG. 31 is executed in theterminal device. It should be noted that steps S1131 through S1137 ofFIG. 32 are similar to S1011 through S1017 of FIG. 30, and therefore,description thereof will be omitted.

FIG. 33 shows a flowchart illustrating the type C retry procedureexecuted in the terminal device. When this procedure is executed, theADF has been received, and only a Jar file is missing. That is, theprocedure shown in FIG. 33 is a retry of the third phase procedure.

The user starts the browser in S1201. Then, the user selects a PLAY LISTfrom the menu (S1203). When the PLAY LIST menu is selected (S1203: YES),the terminal device displays the PLAY LIST on the display device thereof(S1205) (see FIGS. 18A, 18B, 19A and 19B), and waits until the userselects an application. In this case, it is assumed that, for theselected application, the ADF has been downloaded but the main body ofthe application (e.g., the Java file) has not been successfullydownloaded. When the user selects the application (S1207: YES) and theuser selects the “LATEST VERSION” from among the menu items (S1208:YES), control proceeds to S1209.

In S1209, the ADF is retrieved, the JAM is started and the expirationdate/time calculated from the usage period data included in the ADF andthe current date/time are compared (S1213).

If the expiration date/time has elapsed (S1213: YES), a warning messageindicating that the user cannot download the file due to expiration ofthe term (S1215), and the procedure is terminated.

If the usage period has not expired (S1213: NO), control proceeds toS1221. Steps S1221 through S1227 are similar to steps S727 through S731and S745, respectively. Therefore, the description thereof will beomitted.

It should be noted that, in the flowchart shown in FIG. 33, the latestversion of the application is downloaded. This can be performed even ifthe terminal device has a previous version. Further, the judgment of theexpiration period at S1213 is necessary when the user of the terminaldevice executes the type C retry procedure for updating the application.However, if the type C retry procedure is performed because thedownloading of the Jar file has failed due to the communication error orthe like, and is not intended to updating of the application, thechecking process for the expiration period in S1211 and S1213 may beskipped.

In the above-described procedure of FIG. 33, the Jar file is downloadedin response to the user's explicit instruction to download the Jar file.This can be modified such that the download of the Jar file is startedautomatically when the application is selected from the list but themain body of the application has not downloaded.

FIG. 34 is a flowchart illustrating an operation of the download sitecorresponding to the type C retry procedure. When the download sitereceives the request for the Jar file (S1251: YES), it transmits therequested Jar file (S1253).

FIG. 35 is a flowchart illustrating a procedure when an applicationhaving been downloaded is executed in the terminal device.

The user starts the browser (S1301), and selects the PLAY LIST menu(S1303: YES). Then, the PLAY LIST indicating the list of downloadedapplications is displayed (S1305). The user selects an application fromthe list (S1307: YES). Then, the terminal device checks the currentdate/time (S1309), and then retrieves the ADF (S1311). In 1313, theexpiration date/time calculated from the usage period data included inthe ADF and the current date/time are compared.

If the expiration date/time has elapsed (S1315: YES), starting up of theapplication is halted (S1317). If the usage period has not expired(S1315: NO), the application is started up (S1321).

FIG. 17 shows a sequence for correcting a built-in clock of the userterminal. The procedure is executed when the terminal device connectsthe management server to log in.

When the management server transmits HTML files such as the top menu(S411), incorporates a specific MIME type script in the HTML file. Thebrowser of the terminal device starts up a predetermined plug-in inaccordance with the MIME type script (S412). The plug-in requests themanagement server for a predetermined control file (S413). In responseto the request, the management server transmits the control fileincluding current date and time to the terminal device (S414). Theplug-in of the terminal device compares the received date and time withthe date and time of the internal clock (S415). If the internal clockhas error of predetermined time interval (e.g., not less that fiveminutes), then it is judged that the internal clock has an error, andthe internal clock is corrected to coincide with the date and timetransmitted from the management server (S417). Optionally oralternatively, the control file may include a URL of a next page whenthe internal clock is correct and/or a URL of an error page when theinternal clock is incorrect.

Instead of using the MIME type script, an enhanced tag such as <embedsrc=“Getclock.cgi”> is incorporated, and the terminal browser isconfigured to interpret the tag and request for the control fileincluding the current date and time.

FIG. 18A shows an appearance of the user terminal, and FIG. 18B shows amenu when the user terminal is in an off-line status.

When the user selects the play list from the menu, the play list asshown in FIG. 19A is displayed on the screen of the terminal device. Theplay list shows applications currently stored in the local storage ofthe terminal device. To each application, an attribution mark (icon)indicative of attribution regarding the expiration period is assignedand displayed.

FIG. 19B shows five icons according to the embodiment. Icon 81represents that the application is within a trial period. Icons 82-85represent remainder of the usable period in stepwise manner.Specifically, icon 82 shows that almost all the usage period remains.Icon 83 shows the remaining period is more than half of the usableperiod. Icon 84 represents that the usable period is almost expired.Icon 85 represents that the usable period has been expired. Icon 86indicates that the application has unlimited usable period.

The usage period indicated by the icon 81 is generally short, and theperiod indicated by the icon 86 is indefinite. In each case, it could besaid that the icon indicates status of the expiration period. With useof such a graphical indication using icons, the user can recognize theexpiration status quickly. As described above, according to theembodiment, based on the usage period attribution described in the ADF,the remaining period is calculated, and the result is indicated by theicons.

FIG. 23 is a flowchart illustrating a procedure of displaying the iconsshown in FIGS. 19A and 19B. This procedure is a part of the proceduresexecuted when the play list is displayed. Firstly, a variable i isinitialized to have a value 1 (S611), and the following processes arerepeated by the number of the applications. In 5612, the ADF of the i-thapplication is checked (S612). Then, it is examined whether the ADFincludes an expiration time (S613). If the expiration time is notincluded in the ADF, the application does not have expiration period,i.e., the due date of the application is indefinite, the icon 86 isselected (S614). Then, it is judged whether the last application hasbeen examined. If the last application has been examined, the procedureis terminated. If the last application has not yet been examined, thevariable i is incremented by one (S615), and control returns to S612. Ifit is judged in S613 that the usage period is included, based on theusage period and current date and time, the remaining period iscalculated (S616). If the remaining period is zero (or negative) (S617),the icon 85 is selected (S618) and controls proceeds to S628. If thereis remaining time, it is judged whether the character string “trial” isadded to the usage period “Expiration-time” (S619). If the characterstring is added, the application is used for trial. In such a case, theicon 81 is selected (S620), and control proceeds to S628. If theapplication is not used for trial, a unit of remaining period and usageperiod is converted (S621). For example, the period expressed by a unitof day is converted into minute unit (e.g., second). The conversion ofthe unit may be omitted. However, by doing this conversion, theremaining period can be classified accurately. Next, the quotient D ofthe remaining period divided by the usage period is obtained (S622). Thevalue (quotient) D represents a ratio of the remaining period to theusage period. If D is less than ⅓ (S622), the icon 84 is selected(S624). If D is less than ⅔ but not less than ⅓ (S625), the icon 83 isselected (S626). Otherwise (i.e., D is not less than ⅔), the icon 82 isselected (S627). The procedure described above is repeated until thevalue of i becomes the maximum value (S628).

For each application in the play list shown in FIG. 20A, terminal deviceinformation, such as the member ID, the type ID and the name of theterminal device, can be checked as shown in FIG. 20B, or as shown inFIG. 20C, detailed information of the application, such as the name ofthe application, the version and the size of the application, can bechecked. Further, as shown in FIG. 20D, the expiration period of theapplication can be checked. In FIG. 20D, the expiration period isindicated by year, month and date. This can be modified such that, forexample, time is also indicated in addition to the date.

In order to use the limited storage capacity of the terminal device, theuser is allowed to delete desired applications in the play list. In thiscase, the corresponding ADFs are also deleted. It should be noted that,in the “MY MENU” in the management server, the applications are keptregistered as my applications. Therefore, even if the user deletes thepurchased applications and the usage period has not expired, the usercan download the application as well as the ADF from the managementserver for free within the usage period. The same applies toapplications whose main body or the corresponding ADF is broken.

FIG. 21 is a flowchart illustrating a clock check procedure which isexecuted when the application is executed. As aforementioned, theinternal clock is made to coincide with the clock of the managementserver. However, an ill-willed user might intentionally reverse theinternal clock after the usage period has expired and falsely use thepay application. According to the invention, when the application isstarted up, the start up date and time are compared with the previousstart up date and time. If the clock is reversed, the application isterminated.

In FIG. 21, when the terminal device (JAM) is operated by the user tostart up an application in the play list (S511), firstly the currentdate and time are checked (S512). Then, the previous start-up date andtime, which are stored in the terminal device, are checked (S513). Whenthe application is executed first time, the previous start-up date andtime are set to the date and time when the ADF file corresponding to theapplication was downloaded from the management server. The dates andtimes are compared (S514), and if the current start up date and time isolder than the previous start up date and time, it is judged that theclock is reversed, and the application is terminated (S515). With thiscontrol, the ploy of reversing the internal clock to keep using theapplication is prevented. It should be noted that, a reversal of theclock in the order of some minutes may be allowed when the dates andtimes are compared since such a reversal might well occur when the clockis adjusted.

When the application is not started due to the reversal of the clock, awarning message indicates that the application has not started due toreversed clock (S516).

If it is judged that the clock is not reversed (S517), the current dateand time are stored as the previous start-up date and time.

FIG. 22 is an exemplary screen image of the terminal device in which amark (icon) 56 is displayed. The mark 56 indicates that an applicationproviding environment that allows the terminal device to use theservices provided by the management server is installed in the terminaldevice. Such an application is typically a browser implemented with theabove-described expiration period management function.

As aforementioned, the services provided through the network system maybe used in some terminal devices, and may not be used in some otherterminal devices. If the mark 56 is displayed, the user can easilyrecognize that the terminal device is capable of using the services.Optionally, the mark 56 may be configured to function as an icon forinitiating a certain procedure. For example, the mark 56 may be used asan icon for displaying the play list, connecting the portal site to login and display the MY MENU, or the like. It should be noted that thedesign of the icon, displayed position thereof, and the entire imageincluding the image of the icon are not limited to those shown in thedrawing, and various modification can be used.

Hereinafter, the storage service server 420 and print service server 420shown in FIG. 1 will be described.

The storage service server 420 provides a service of leasing a storagearea for the users of the terminal devices. Thus, it the uses thestorage service, the storage capacity of the terminal device issubstantially enlarged. Similarly to a case of the applications, theperiod of lease may be restricted. In order to use the storage service,the user may be download a dedicated application and/or data related tothe usage of the storage service.

The print service server 430 provides a service of receiving data fromthe user and printing documents or the like. Specifically, the printserver is provided with an application for processing image data such asdata of images captured by a digital camera. The user places an order ofprinting with the management server, which bills the user regarding theprinting service. The user, then, transmits the image data to themanagement server or other predetermined server to request printing.Then, the user may receive the printout at a predetermined place, forexample, at a counter of a chain store. It should be noted that for thenetwork services as described above, instead of the application URL inthe ADF, a service URL of a site providing the network service may beused.

As described above, the embodiment provides advantages as indicatedbelow.

(1) According to the embodiment, a usage period attribution indicativeof the usage period of an application or the like is created by theserver side and transmitted to the terminal device separately from theapplication. The usage of the application, downloading of theapplication and the like are controlled in accordance with the usageperiod attribution. Therefore, it becomes unnecessary to incorporate the“time bomb” in the application, and still it is possible to set thedesired usage period of the application.

(2) The internal clock of the terminal device is automatically adjustedto coincide with the clock of the server. Therefore, the usage periodcan be managed based on the same clock both in the server and theterminal device.

(3) In the terminal device, even if the application is started uplocally, the usage period of the application can be managed.

(4) Since the usage period can be managed in the terminal device, it isunnecessary to connect the server to check whether the usage period isexpired. Therefore, a troublesome procedure for connecting with theserver can be avoided, and unnecessary communication expense will notoccur.

(5) The usage period attribution is generated every time when there is abargain (i.e., trial, lease and the like). Therefore, the usage periodcan be set flexibly, and is not necessarily a fixed period. In aparticular case, the usage period may be changed at every bargain orapplication.

(6) The main body of the application can be obtained any time within theusage period and by any number of times from an external server or thelike without being billed therefor. Accordingly, even though the localstorage has a limited capacity, the user can arbitrarily delete theapplication from the terminal device, and download the same fromoutside.

(7) According to the embodiment, when the user is billed for purchase ofthe application, only data (ADF) having a small size is transmitted fromthe management server to the terminal device, and the application itselfis not transmitted to the terminal device at this stage. This ensuresthat the billing procedure is executed smoothly and without beinginterrupted due to communication errors or the like. This can beachieved since the downloading of the application can be done repeatedlyafter the billing procedure. This configuration reduces the burden tothe management server significantly, since the management server neednot check whether the application has been successfully downloaded.

(8) According to the embodiment, the usage period can be done relativelyaccurately. Therefore, even though the usage period is very short (e.g.,one day, one hour and the like), the application or the like can beleased while maintaining economic effectiveness.

(9) The status regarding the usage/expiration period for eachapplication the user has downloaded is displayed on the display screenof the terminal device. Therefore, the user can make a decision onupdating of the usage period for each application. In particular, theusage/expiration status is indicated by means of a mark (or icon), theuser can recognize the status intuitively. Thus, for the user of theterminal device, the operability is improved. Further, for the vender,by indicating the remaining usage period graphically, it is possible tomotivate the user to extend the usage period.

(10) In the management server, applications subject to lease and/ortrial are managed on the user basis. Therefore, if applicationinformation (i.e., ADF) is lost on the terminal device side, it ispossible to recover the information based on the data stored in themanagement server.

(11) When a member is registered, a member ID is assigned, and further,a terminal ID for identifying the terminal used for receive the serviceis also assigned. The IDs are stored in the terminal device, and theterminal ID is hidden from the user (i.e., the user cannot know theterminal ID). When the user logs on, the management server checks theterminal ID as well as the member ID and the password. With thisconfiguration, it becomes possible to prevent a non-member of theservice from pretending to be a member of the service.

(12) Since the type ID is checked when the user logs on, the terminaldevices capable of using the service can be restricted to predeterminedones (e.g., non-PC terminals excluding PCs). With this configuration,unauthorized readout of the terminal ID can be prevented, orunauthorized copying of the downloaded applications can be prevented.

(13) If a member registers a plurality of terminal devices for theservices, different terminal IDs are assigned to different terminaldevices, respectively. With this configuration, an attempt of aplurality of users trying to use the same pay application under onemember name is prevented.

(14) Since each terminal device has a name, it is possible to identifythe terminal device by the name in a recovery procedure. That is, when aterminal device is broken and replaced with another one, although theterminal ID has been changed, the terminal device can be identified bythe name, and the recovery can be completed.

It will be appreciated by persons skilled in the art that the presentinvention is not limited to what has been particularly shown anddescribed hereinabove. Rather, it is appreciated that theabove-described embodiment can be modified in various ways withoutdeparting from the gist of the invention.

For example, according to the above-described embodiment, when the usageperiod has expired, the startup of the application is restricted. Thismay be interpreted such that the startup of the application isprohibited, functions of the application is partially disabled, or theapplication may be executed but a warning message such as “SAMPLE” or“EXPIRED” may be overlapped on the application screen.

Instead of providing a portal site, a stationary information processingapparatus installed in a storefront can be provided. An example of suchan information processing apparatus is a multimedia kiosk, UBIQUITOUSNETWORK, Nomura Research Institute, Ltd., Dec. 20, 2000, published byNomura Research Institute, Ltd. If such an apparatus is further providedwith billing system such as a vending machine, it may be possible tocollect fees by cash or credit card. In this case, communication betweenthe terminal device of a user and the multimedia kiosk may be performedthrough infrared light communication, Bluetooth® and the like, which isapplicable for communication in a short range.

In the embodiment, the expiration data (and time) is calculated by themanagement server and incorporated in the ADF file. However, theinvention need not be limited to such a configuration, and can bemodified, for example, such that the starting point (date and time) andthe usage period are incorporated in the ADF file, and the expirationdate/time may be calculated at the terminal device side.

In the above-described embodiment, the clock of the terminal device isforcibly synchronized with the clock of the management server. However,the invention is not limited to such a configuration, and the clock ofthe terminal device may be synchronized with another server.Alternatively, the clock of the terminal device may be adjusted in anyappropriate way if the accuracy of the clock of the terminal device isguaranteed. It is stressed that the clock of the terminal device and theclock of the management server should be substantially synchronized inorder to manage the expiration date and time based on the same clock.

In the above-described embodiment, the terminal device is explained as anon-PC terminal device. If a non-PC terminal has an appropriate securityfunction, the present invention can properly be applied to such a non-PCterminal. Thus, any device (e.g., a network terminal device) which iscapable of performing bi-directional data exchange with respect to themanagement server, another terminal device and the like can be used asthe terminal device of the management system. In a particular case, theterminal device may be a terminal emulator (i.e., a combination of abrowser running on a PC and the Java VM) that emulates the terminaldevice.

The communication protocol need not be limited to the above-describedone, and any protocol can be used if it does not prevent theabove-described management procedures.

In the embodiment, the applications and the like are downloaded througha network. The invention need not be limited to such a system, and theapplications may be distributed by broadcasting through a broadcastingnetwork such as a digital broadcasting.

In the embodiment, the same application is subject to downloading andpurchasing. This may be modified such that, for example, the functionsof the trial version are partially restricted.

In the embodiment, the user initially uses an application for trial, andthen he/she purchases the same if he/she determines to purchase theapplication. It is apparent that, if the user desires, the trial stepsmay be skipped.

In the embodiment, the application is executed locally (i.e., with theterminal device disconnected from the network). However, the inventionis not limited to such a configuration, and the terminal device may beconnected to the network during apart of or entire execution of theapplication, as in a matching game.

In the embodiment, for one application, one usage period (a unit period)is assigned. However, the invention is not limited to such aconfiguration, and a plurality of usage periods (i.e., a plurality ofkinds of unit periods) may be provided for user's choice. In such acase, the billing should also be changed depending on the user'sselected period.

In the embodiment, the information regarding the remaining usage periodis indicated by icon for applications listed in the play list. This maybe enhanced so that such information may be indicated for other servicessuch as news service. Further, such indications may be provided asgraphical indications such as icons.

Since the type ID is transmitted from the terminal device to themanagement server, it may be possible to provide an application suitableto the type of the terminal device. That is, the system may beconfigured such that a plurality of applications corresponding todifferent types of the terminal devices, and the most appropriateapplication may be provided to the terminal device. This may beachieved, for example, by having the user of the terminal device selectone of the plurality of applications or by automatically providing anapplication corresponding to the type ID.

In the embodiment, the user inputs the name of the terminal device sothat each of a plurality of terminal devices of a single user can beidentified. This may be modified such that the name of each terminaldevice is determined at the management server. It should be noted that,when the name is used only for distinguishing the terminal devices withrespect each other, any information such as a serial number may be usedinstead of the name.

The system and method according to the present invention can be realizedwhen appropriate programs provided and executed by a personal computeror the like. Such programs may be stored in recording medium such as aflexible disk, CD-ROM, memory cards and the like and distributed.Alternatively or optionally, such programs can be distributed throughnetworks such as the Internet.

1. A method of managing downloading applications in a networking systemincluding a terminal device and a managing server, comprising: providinga menu for listing applications to the terminal device, the applicationsare managed by the managing server and downloadable with the terminaldevice; receiving a request from the terminal device for downloading anapplication which was selected among the applications on the menu by auser of the terminal device; in response to the request, transmitting aHyperText Markup Language (HTML) file including an embedded command, theterminal device returning the embedded command to the managing server inresponse to receiving the HTML file; in response to receiving theembedded command from the terminal device, transmitting an applicationdescriptor file to the terminal device, the application descriptor fileincluding usage period data indicative of a period during which theapplication can be used in the terminal device; and creating a record ofthe selected application on the managing server when at least a part ofthe selected application data is downloaded and stored in the terminaldevice, the record is used on the managing server to update usagelicense of the selected application without re-downloading the selectedapplication data to the terminal device if it has been stored in theterminal device.
 2. The method according to claim 1, wherein at least apart of a network path between the terminal device and the managingserver is a wireless communication line.
 3. The method according toclaim 1, further comprising registering an application to the menu onthe managing server through a computer network.
 4. The method accordingto claim 1, wherein the menu is corresponding to a number of applicationmanagement records that include a Uniform Resource Locator (URL) fromwhich the application can be downloaded by the terminal device.
 5. Themethod according to claim 1, wherein the menu is corresponding to anumber of application management records that include usage period. 6.The method according to claim 1, wherein the menu is corresponding to anumber of application management records that include trial period. 7.The method according to claim 1, wherein the record corresponds to amembership identification (ID).
 8. The method according to claim 1,wherein the menu has category hierarchy.
 9. The method according toclaim 1, wherein the record is used on the managing server tore-download the selected application to the terminal device during usageperiod or trial period of the selected application, if it has not beenstored in the terminal device.
 10. The method according to claim 9,wherein at least a part of a network path between the terminal deviceand the managing server is a wireless communication line.
 11. The methodaccording to claim 9, further comprising registering an application tothe menu on the managing server through a computer network.
 12. Themethod according to claim 9, wherein the menu is corresponding to anumber of application management records that include a Uniform ResourceLocator (URL) from which the application can be downloaded by theterminal device.
 13. The method according to claim 9, wherein the menuis corresponding to a number of application management records thatinclude usage period.
 14. The method according to claim 9, wherein themenu is corresponding to a number of application management records thatinclude trial period.
 15. The method according to claim 9, wherein therecord corresponds to a membership identification (ID).
 16. The methodaccording to claim 9, wherein the menu has category hierarchy.
 17. Anapplication management system for managing downloading applications in anetworking system, the application management system comprising: aterminal device, the terminal device having a display; and a managingserver, the managing server having a controller, wherein the managingsever controller receives a request from the terminal device fordownloading an application which was selected among the applications onthe menu by a user of the terminal device, managing server provides amenu for listing applications on the display of to the terminal device,the applications being managed by the managing sever and downloadablewith the terminal wherein in response to the request, the managingserver controller causes to transmit HyperText Markup Language (HTML)file including an embedded command, the terminal device returns theembedded command to the managing server in response to receiving theHTML file, wherein in response to receiving the embedded command fromthe terminal device, the managing server controller causes to transmitapplication descriptor file to the terminal device, the applicationdescriptor file including usage period data indicative of a periodduring which the application can be used in the terminal device, whereinthe managing server controller creates a record of the selectedapplication when at least a part of the selected application data isdownloaded and stored in the terminal device, and wherein the record isused by the managing server controller to update usage license of theselected application without re-downloading the selected applicationdata to the terminal device if it has been stored in the terminaldevice.
 18. The application management system according to claim 17,wherein at least a part of a network path between the terminal deviceand the managing server is a wireless communication line.
 19. Theapplication management system according to claim 17, wherein themanaging server controller registers an application to the menu on themanaging server, the application registered in the menu beingtransmitted by an application vender to the managing server through acomputer network.
 20. The application management system according toclaim 17, wherein the menu is corresponding to a number of applicationmanagement records that include a Uniform Resource Locator (URL) fromwhich the application can be downloaded by the terminal device.
 21. Theapplication management system according to claim 17, wherein the menu iscorresponding to a number of application management records that includeusage period.
 22. The application management system according to claim17, wherein the menu is corresponding to a number of applicationmanagement records that include trial period.
 23. The applicationmanagement system according to claim 17, wherein the record correspondsto a membership identification (ID).
 24. The application managementsystem according to claim 17, wherein the menu has category hierarchy.25. The application management system according to claim 17, wherein therecord is used by the managing server controller to re-download theselected application to the terminal device during usage period or trialperiod of the selected application, if it has not been stored in theterminal device.
 26. The application management system according toclaim 25, wherein at least a part of a network path between the terminaldevice and the managing server is a wireless communication line.
 27. Theapplication management system according to claim 25, wherein themanaging server controller registers an application to the menu on themanaging server, the application registered in the menu beingtransmitted by an application vender to the managing server through acomputer network.
 28. The application management system according toclaim 25, wherein the menu is corresponding to a number of applicationmanagement records that include a Uniform Resource Locator (URL) fromwhich the application can be downloaded by the terminal device.
 29. Theapplication management system according to claim 25, wherein the menu iscorresponding to a number of application management records that includeusage period.
 30. The application management system according to claim25, wherein the menu is corresponding to a number of applicationmanagement records that include trial period.
 31. The applicationmanagement system according to claim 25, wherein the record correspondsto a membership identification (ID).
 32. The application managementsystem according to claim 25, wherein the menu has category hierarchy.33. A managing server for managing downloading applications in anetworking system including a terminal device, the managing serverhaving a controller, wherein the managing server controller provides amenu for listing applications to the terminal device, the applicationsbeing managed by the managing sever and downloadable with the terminaldevice, wherein the managing sever receives a request from the terminaldevice for downloading an application which was selected among theapplications on the menu by a user of the terminal device, wherein inresponse to the request, the managing server controller causes totransmit HyperText Markup Language (HTML) an HTML file including anembedded command, the terminal device returns the embedded command tothe managing server in response to receiving the HTML file, wherein inresponse to receiving the embedded command from the terminal device, themanaging server controller causes to transmit application descriptorfile to the terminal device, the application descriptor file includingusage period data indicative of a period during which the applicationcan be used in the terminal device, wherein the managing servercontroller creates a record of the selected application when at least apart of the selected application data is downloaded and stored in theterminal device, and wherein the record is used by the managing servercontroller to update usage license of the selected application withoutre-downloading the selected application data to the terminal device ifit has been stored in the terminal device.
 34. The managing serveraccording g to claim 33, wherein at least a part of a network pathbetween the terminal device and the managing server is a wirelesscommunication line.
 35. The managing server according to claim 33,wherein the managing server controller registers an application to themenu on the managing server, the application registered in the menubeing transmitted by an application vender to the managing serverthrough a computer network.
 36. The managing server according to claim33, wherein the menu is corresponding to a number of applicationmanagement records that include a Uniform Resource Locator (URL) fromwhich the application can be downloaded by the terminal device.
 37. Themanaging server according to claim 33, wherein the menu is correspondingto a number of application management records that include usage period.38. The managing server according to claim 33, wherein the menu iscorresponding to a number of application management records that includetrial period.
 39. The managing server according to claim 33, wherein therecord corresponds to a membership identification (ID).
 40. The managingserver according to claim 33, wherein the menu has category hierarchy.41. The managing server according to claim 33, wherein the record isused by the managing server controller to re-download the selectedapplication to the terminal device during usage period or trial periodof the selected application, if it has not been stored on the terminaldevice.
 42. The managing server according to claim 41, wherein at leasta part of a network path between the terminal device and the managingserver is a wireless communication line.
 43. The managing serveraccording to claim 41, wherein the managing server controller registersan application to the menu on the managing server, the applicationregistered in the Menu being transmitted by an application vender to themanaging server through a computer network.
 44. The managing serveraccording to claim 41, wherein the menu is corresponding to a number ofapplication management records that include a Uniform Resource Locator(URL) from which the application can be downloaded by the terminaldevice.
 45. The managing server according to claim 41, wherein the menuis corresponding to a number of application management records thatinclude usage period.
 46. The managing server according to claim 41,wherein the menu is corresponding to a number of application managementrecords that include trial period.
 47. The managing server according toclaim 41, wherein the record corresponds to a membership identification(ID).
 48. The managing server according to claim 41, wherein the menuhas category hierarchy.